package top.fangw.tenant.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import top.fangw.tenant.pojo.dto.MenuInfoQueryDto;
import top.fangw.tenant.pojo.entity.MenuInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import top.fangw.tenant.pojo.vo.SysMenuInfoVO;

import java.util.List;

/**
 * <p>
 * 用途：用于管理系统中的菜单信息 服务类
 * </p>
 *
 * @author fangw
 * @since 2024-02-18
 */
public interface IMenuInfoService extends IService<MenuInfo> {

    void add(MenuInfo menuInfo);

    /**
     * 根据菜单id删除菜单信息
     * @param id 菜单id
     */
    void delete(String id);

    /**
     * 获取菜单的树形结构
     * @return
     */
    List<MenuInfo> treeList();

    /**
     * 获取菜单列表，并分页
     * @param menuInfoQueryDto 查询条件
     * @return 分页结果
     */
    IPage<MenuInfo> getListPage(MenuInfoQueryDto menuInfoQueryDto);
}
